package org.distributed.transaction.core.event;

/**
 * 事务事件广播器
 */
public interface TransactionEventMulticaster {

	/**
	 * 广播事件
	 */
	public void fireTransactionEvent(TransactionEvent transactionEvent);

	/**
	 * 添加事件监听器
	 * 
	 * @param transactionListener
	 */
	public void addTransactionListener(TransactionListener transactionListener);

	/**
	 * 移除所有的事件监听器
	 */
	public void removeAllListeners();

	/**
	 * 移除事件监听器
	 * 
	 * @param transactionListener
	 */
	public void removeTransactionListener(TransactionListener transactionListener);
}
